<?php
$filename = GetRandID(extend($_FILES["myfile"]["name"]));//得到新的文件名。
$type = $_FILES["myfile"]["type"];//文件类型
$name = $_FILES["myfile"]["name"];//原始文件名
$ext = ".".extend($_FILES["myfile"]["name"]); //文件后缀
$size = $_FILES["myfile"]["size"];//上传文件大小
$error = $_FILES["myfile"]["error"];//文件错误信息
$tmp_name  = $_FILES["myfile"]["tmp_name"];//文件临时名
$targetname = $filename;//目标文件名
$upload_dir = "./pic/";//本目录下

$form = $_POST["form"];
$bd = $_POST["bd"];

uploadfile($type,$name,$ext,$size,$error,$tmp_name,$targetname,$upload_dir);

echo $filename;

function uploadfile($type,$name,$ext,$size,$error,$tmp_name,$targetname,$upload_dir)
{

    $MAX_SIZE = 200000000000000000000;
    $FILE_MIMES = array('image/pjpeg','image/jpeg','image/jpg','image/gif','image/png');
    $FILE_EXTS = array('.jpg','.gif','.png','.JPG','.GIF','.PNG');

    $file_path = $upload_dir.$targetname;
    
    if(!is_dir($upload_dir))
    {
        if(!mkdir($upload_dir))
            die("文件上传目录不存在并且无法创建文件上传目录");
        if(!chmod($upload_dir,0755))
            die("文件上传目录的权限无法设定为可读可写");
    }
    
    if($size>$MAX_SIZE)
        die("上传的文件大小超过了规定大小,最大为2M <a href='javascript:history.back(-1);'>返回>></a>");

    if($size == 0)
        die("请选择上传的文件 <a href='javascript:history.back(-1);'>返回>></a>");

    if(!in_array($type,$FILE_MIMES) || !in_array($ext,$FILE_EXTS))
        die("请上传符合要求的文件类型jpg/gif/png  <a href='javascript:history.back(-1);'>返回>></a>");

    if(!move_uploaded_file($tmp_name, $file_path))
        die("复制文件失败，请重新上传 <a href='javascript:history.back(-1);'>返回>></a>");

	switch($error)
    {
        case 0:
            return ;
        case 1:
            die("上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值");
        case 2:
            die("上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值");
        case 3:
            die("文件只有部分被上传");
        case 4:
            die("没有文件被上传");
    }	
}

function GetRandID($prefix) {
    //第一步:初始化种子
    //microtime(); 是个数组
     $seedstr = split(" ",microtime(),5);
     $seed =$seedstr[0]*10000;
    //第二步:使用种子初始化随机数发生器
     srand($seed);
    //第三步:生成指定范围内的随机数
     $random = rand(1,10000);
     $filename = date("YmdHis", time()).$random.'.'.$prefix;
     return $filename;
}

function extend($file_name)
{
	$extend =explode("." , $file_name);
	$va=count($extend)-1;
	return $extend[$va];
}
?>
